Offset和resize在VBA中的用法 |
您所在的位置:网站首页 › vba rangeoffset › Offset和resize在VBA中的用法 |
Offset实际上是Excel的函数。VBA可以直接调用Excel中任何函数,但是有的时候语法会有些区别,OFFSET就是。 Offset函数实为定位函数。首先要找到中心点,如果以单元格A1为中心点,则A1的位置就是Offset(0,0)。 我想通过下面这张图片,大家可以很好的理解Offset resize属性的语法 Range.Resize(行数,列数) 它返回的是一个单元格对象,以单元格区域的第一个单元格(左上角)为起点, 同时向右向下扩展对应的行数和列数。 ‘Range.Resize 属性 ‘调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。 ‘语法 ‘表达式.Resize(行数, 列数) ‘表达式 一个返回 Range 对象的表达式。 1 Sub test() 2 [a1].Resize(2, 3).Select 3 [a1].Resize(2).Select 4 [a1].Resize(, 3).Select 5 End Sub 注意:Resize是Range本身开始从"1"算起的,[a1].resize(1,1); 但是Offset是Range本身开始从"0"算起的,[a1].offset(0,0); 以上两行代码都返回a1这个区域range("a1").Resize(5, 3).Select '相当于RANGE("A1:C5") range("a1:c5").Resize(2, 2).Select '相当于range("A1:B2") range("b5:d7").Resize(10, 10).Select '相当于range("b5:k14") 2、RESIZE的行、列参数均可省略,但不能同时省略。 省略的行、列和原单元格对象一致。 省略行:range("a3:b8").Resize(, 3).Select 行数与range("a3:b8")一致(不变) 省略列:range("a3:b8").Resize(4).Select,注意列参数省略是连逗号都省略了的。range("a3:b8").Resize(4,).Select '这种写法会出错。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |